package br.com.ftt.transportadora.vo;

import java.io.Serializable;

public class ProdutoComum implements Serializable
{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	int codigo;
	String descricao;
	String cfop;
	String unCom;
	int qtdProduto;
	double vlrUnit;
	double vlrTotal;
	
	public int getCodigo ( )
	{
		return codigo;
	}
	
	public void setCodigo ( int codigo )
	{
		this.codigo = codigo;
	}
	
	public String getDescricao ( )
	{
		return descricao;
	}
	
	public void setDescricao ( String descricao )
	{
		this.descricao = descricao;
	}
	
	public String getCfop ( )
	{
		return cfop;
	}
	
	public void setCfop ( String cfop )
	{
		this.cfop = cfop;
	}
	
	public String getUnCom ( )
	{
		return unCom;
	}
	
	public void setUnCom ( String unCom )
	{
		this.unCom = unCom;
	}
	
	public int getQtdProduto ( )
	{
		return qtdProduto;
	}
	
	public void setQtdProduto ( int qtdProduto )
	{
		this.qtdProduto = qtdProduto;
	}
	
	public double getVlrUnit ( )
	{
		return vlrUnit;
	}
	
	public void setVlrUnit ( double vlrUnit )
	{
		this.vlrUnit = vlrUnit;
	}
	
	public double getVlrTotal ( )
	{
		return vlrTotal;
	}
	
	public void setVlrTotal ( double vlrTotal )
	{
		this.vlrTotal = vlrTotal;
	}
	
	@Override
	public int hashCode ( )
	{
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cfop == null) ? 0 : cfop.hashCode());
		result = prime * result + codigo;
		result = prime * result
		        + ((descricao == null) ? 0 : descricao.hashCode());
		result = prime * result + qtdProduto;
		result = prime * result + ((unCom == null) ? 0 : unCom.hashCode());
		long temp;
		temp = Double.doubleToLongBits(vlrTotal);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		temp = Double.doubleToLongBits(vlrUnit);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		return result;
	}
	
	@Override
	public boolean equals ( Object obj )
	{
		if (this == obj) return true;
		if (obj == null) return false;
		if (getClass() != obj.getClass()) return false;
		ProdutoComum other = (ProdutoComum) obj;
		if (cfop == null)
		{
			if (other.cfop != null) return false;
		}
		else if (!cfop.equals(other.cfop)) return false;
		if (codigo != other.codigo) return false;
		if (descricao == null)
		{
			if (other.descricao != null) return false;
		}
		else if (!descricao.equals(other.descricao)) return false;
		if (qtdProduto != other.qtdProduto) return false;
		if (unCom == null)
		{
			if (other.unCom != null) return false;
		}
		else if (!unCom.equals(other.unCom)) return false;
		if (Double.doubleToLongBits(vlrTotal) != Double
		        .doubleToLongBits(other.vlrTotal)) return false;
		if (Double.doubleToLongBits(vlrUnit) != Double
		        .doubleToLongBits(other.vlrUnit)) return false;
		return true;
	}
	
	@Override
	public String toString ( )
	{
		return "ProdutoComum [codigo=" + codigo + ", descricao=" + descricao
		        + ", cfop=" + cfop + ", unCom=" + unCom + ", qtdProduto="
		        + qtdProduto + ", vlrUnit=" + vlrUnit + ", vlrTotal="
		        + vlrTotal + "]";
	}
	
}
